// Modules to control application life and create native browser window
const { app, BrowserWindow,session,Menu } = require('electron')
const path = require('path')
//const fs = require('fs-extra');
// const url = require('url');


// Keep a global reference of the window object, if you don't, the window will
// be closed automatically when the JavaScript object is garbage collected.
let mainWindow

function createWindow() {
    //Menu.setApplicationMenu(null);
    // Create the browser window.
    mainWindow = new BrowserWindow({
        width: 1400,
        height: 800,
        webPreferences: {
            preload: path.join(__dirname, 'index.js'),
            //webSecurity: false,
            webviewTag: true
        }
    });


    // and load the index.html of the app.
    mainWindow.loadFile('index.html')

    // Open the DevTools.
    // mainWindow.webContents.openDevTools()

    // Emitted when the window is closed.
    mainWindow.on('closed', function () {
        // Dereference the window object, usually you would store windows
        // in an array if your app supports multi windows, this is the time
        // when you should delete the corresponding element.
        mainWindow = null
    })

//     mainWindow.cookies.get({ url: 'https://www.mi.com' })
// .then((cookies) => {
//     console.log(JSON.stringify(cookies))
// }).catch((error) => {
//     console.log(error)
// });
 }

// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.on('ready', createWindow)

// Quit when all windows are closed.
app.on('window-all-closed', function () {
    // On macOS it is common for applications and their menu bar
    // to stay active until the user quits explicitly with Cmd + Q
    if (process.platform !== 'darwin') app.quit()
})

app.on('activate', function () {
    // On macOS it's common to re-create a window in the app when the
    // dock icon is clicked and there are no other windows open.
    if (mainWindow === null) createWindow()
})

// In this file you can include the rest of your app's specific main process
// code. You can also put them in separate files and require them here.
// function login(){
//     let view = new BrowserView();
//     view.webContents.loadURL('https://www.mi.com/user/portal');
//     session.defaultSession.cookies.get({ url: 'https://www.mi.com' })
//     .then((cookies) => {
//         console.log(JSON.stringify(cookies))
//     }).catch((error) => {
//         console.log(error)
//     });

//     view.webContents.addListener('dom-ready', () => {
//         let u = url.parse(view.webContents.getURL());
//         if(u.host==='account.xiaomi.com'){
//             view.webContents.executeJavaScript(
//                `document.getElementById('username').value='13962371771';document.getElementById('pwd').value='19860621wk2';document.getElementById('login-button').click();`
//                  );
//                  console.log('account');
//         }else if(u.host==='www.mi.com'){
//             session.defaultSession.cookies.get({ url: 'https://www.mi.com' })
//             .then((cookies) => {
//                 console.log(JSON.stringify(cookies))
//             }).catch((error) => {
//                 console.log(error)
//             });
//             console.log('mi');
//         }
//     });
// }